Kafka实战宝典:监控利器kafka-eagle
概述
Kafka作为当前最流行的消息中间件广泛用于流式数据的中间存储,其界面化管理工具有多种,其中Kafka Eagle(简称KE)能够实现比Kafka的其他界面化管理工具更加丰富的操作和监控选项,最突出的功能是使用Kafka提供的JMX端口实现了Kafka读取数据的图表化监控、移植ZKCli到前端操作、Kafka SQL实时消费,并提供用户管理功能。
该系统由《Kafka并不难学!入门、进阶、商业实战》的作者 smartloli 开发维护,很牛掰的一位大佬。参考官网:Kafka Eagle
Kafka-Eagle的安装
环境要求
安装部署kafka eagle需要先配置JDK环境,并配置到环境变量;kafka eagle需要使用mysql数据库来存储kafka eagle的元数据信息,包括用户、权限、操作,这在mysql有对应的表;同时需要确保Kafka的 JMX 是开启的,否则无法监控Kafka各项指标:
vi kafka-server-start.sh
组件版本
组件 | 版本 |
---|---|
kafka | kafka2.100.10_0.0 |
JDK | jdk1.8.0_144 |
Kafka Eagle | kafka-eagle-bin-1.2.8.tar.gz |
下载和安装
下载Kafka-Eagle:
官网:Kafka Eagle 将安装包上传至安装目录下解压,本次安装在/opt目录下,并解压安装包:
tar -zxvf kafka-eagle-${version}-bin.tar.gz
mv kafka-eagle-${version} kafka-eagle
配置Kafka-Eagle环境变量:
vi /etc/profile
export KE_HOME=/data/soft/new/kafka-eagle
export PATH=$PATH:$KE_HOME/bin
配置Kafka-Eagle配置文件
cd ${KE_HOME}/conf
vi system-config.properties
# kafka集群信息
kafka.eagle.zk.cluster.alias=cluster1,cluster2 cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181 cluster2.zk.list=xdn1:2181,xdn2:2181,xdn3:2181
# zk 线程数量
kafka.zk.limit.size=25
# kafka eagle 的端口
kafka.eagle.webui.port=8048
# Kafka offset storage
cluster1.kafka.eagle.offset.storage=kafka cluster2.kafka.eagle.offset.storage=kafka
# enable kafka 开启图表
kafka.eagle.metrics.charts=false
# 开始sql查询
kafka.eagle.sql.fix.error=false
# 删除kafka topic时使用的token
kafka.eagle.topic.token=keadmin
# kafka sasl authenticate, current support SASL_PLAINTEXT kafka.eagle.sasl.enable=false kafka.eagle.sasl.protocol=SASL_PLAINTEXT kafka.eagle.sasl.mechanism=PLAIN kafka.eagle.sasl.client=<kafka_client_jaas.conf file path>
# 设置ke连接的数据库信息
kafka.eagle.driver=com.mysql.jdbc.Driver kafka.eagle.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=root
kafka.eagle.password=123456
启动 kafka-eagle
cd ${KE_HOME}/bin
chmod +x ke.sh
./ke.sh start
Kafka Eagle的使用
首页
启动成功后在浏览器中输入http://host:port/ke就可以访问kafka eagle 了,首页显示仪表盘,包括了以下几个选项:
Brokers
Topics
Zookeepers
Consumers
Kafka Brokers Graph
Topic
Topic目录下选项可以完成(当前注册集群的)topic新建和topic查询,并且提供kafka SQL查询工具
Creat
创建topic
list
罗列出所有当前注册集群下的所有topic列表,每个topic的分区数、分区列表、创建时间、修改时间、并提供删除选项;
Message
提供Kafka SQL可以从分区、偏移量、topic名称查数据;
Mock
向指定的topic发送模拟数据;
Consumer
显示当前注册集群的消费组信息:
Muti-Cluster
显示后台注册的kafka集群,可以同时管理多套kafka集群:
ZKCli
将ZKCli移植到网页上执行:
Metric
通过kafka的JMX端口,实现了Kafka的监控指标,并图表化展示,监控指标包括读写的TPS、比特数、分区间同步的比特数等;
用户管理
提供三种角色(用户群):admin、开发组、游客,可以分别编辑设定每种用户群的权限;
Kafka Eagle的mysql表
在Kafka-Eagle配置文件system-config.properties中添加mysql的信息后,KE会自动在对应的模式内创建元数据表;
现在你还会再用Kafka-Manager监控吗?快来试试Kafka Eagle 吧
官网:https://docs.kafka-eagle.org/